<?php
//    +----------------------------------------------------------------------
//    | Copyright (c) 2015-2035 http://www.hdphp.cn All rights reserved.
//    | Licensed ( http://www.hdphp.cn/licenses/ )
//    | Author: Jack <sophia2152@qq.com>
//    | 官方网址: http://www.hdphp.cn
//    | 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用。
//    | 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
//    +----------------------------------------------------------------------
namespace app\dao\system\admin;

use app\dao\BaseDao;
use app\model\system\admin\SystemAdmin;

/**
 * Class：SystemAdminDao
 * 创建人：Jack
 * 创建时间：2023/3/21 7:48 PM
 * @package app\dao\system\admin
 */
class SystemAdminDao extends BaseDao
{
    /**
     * 设置模型
     * @return string
     */
    protected function setModel(): string
    {
        return SystemAdmin::class;
    }

    /**
     * 注释：用户id查询管理员信息
     * 创建人：Jack
     * 创建时间：2023/3/23 9:27
     * @param int $uid
     * @return array|null
     */
    public function uidByAdmin(int $uid)
    {
        return $this->search(['uid' => $uid, 'is_delete' => 0])->find();
    }

    /**
     * 注释：用户手机查询管理员信息
     * 创建人：Jack
     * 创建时间：2023/3/23 9:27
     * @param string $mobile
     * @return array|null
     */
    public function phoneByAdmin(string $mobile)
    {
        return $this->search(['mobile' => $mobile, 'is_delete' => 0, 'status' => 1])->find();
    }

    /**
     * 注释：获取管理员uid
     * 创建人：Jack
     * 创建时间：2023/3/27 14:22
     * @param int $level
     * @return array
     */
    public function getUidIds(int $level)
    {
        return $this->getModel()->where('level', '>=', $level)->column('uid', 'uid');
    }

    /**
     * 注释：获取管理员搜索条件
     * 创建人：Jack
     * 创建时间：2023/3/27 14:53
     * @param string $field
     * @param int $level
     * @return array
     */
    public function getOrAdminTrueName(string $field = 'uid,true_name', int $level = 0)
    {
        return $this->getModel()->where('level', '>=', $level)->field($field)->select()->toArray();
    }
}
